From: Andres Lagar-Cavilla Date: Thu, 2 Feb 2012 12:22:34 +0000 (+0000) Subject: x86/mm: Make sharing ASSERT check more accurate X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=7c72f35669edf57b45efbc2526236e77ce21c206;p=xen.git x86/mm: Make sharing ASSERT check more accurate Signed-off-by: Andres Lagar-Cavilla Signed-off-by: Tim Deegan Committed-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c index 7b089a0a64..539c35b6f8 100644 --- a/xen/arch/x86/mm/mem_sharing.c +++ b/xen/arch/x86/mm/mem_sharing.c @@ -197,7 +197,10 @@ static struct page_info* mem_sharing_lookup(unsigned long mfn) struct page_info* page = mfn_to_page(_mfn(mfn)); if ( page_get_owner(page) == dom_cow ) { - ASSERT(page->u.inuse.type_info & PGT_type_mask); + /* Count has to be at least two, because we're called + * with the mfn locked (1) and this is supposed to be + * a shared page (1). */ + ASSERT((page->u.inuse.type_info & PGT_count_mask) >= 2); ASSERT(get_gpfn_from_mfn(mfn) == SHARED_M2P_ENTRY); return page; }